package com.mentaleye.biz;

import java.util.List;

import com.mentaleye.bean.TransactionBean;
import com.mentaleye.util.CommonPage;
import com.mentaleye.util.CommonResult;

public interface TransactionBiz {

	/**
	 * 添加交易
	 * @param transactionBean 交易实体类对象
	 * @return 返回处理结果
	 */
	public CommonResult addTransaction(TransactionBean transactionBean);
	
	/**
	 * 修改交易
	 * @param transactionBean 交易实体类对象
	 * @return 返回处理结果
	 */
	public CommonResult modifyTransaction(TransactionBean transactionBean);
	
	/**
	 * 修改交易状态
	 * @param transactionId 交易编号
	 * @param transactionState 交易状态
	 * @return 返回处理结果
	 */
	public CommonResult modifyTransaction(String transactionId,Integer transactionState);
	
	/**
	 * 修改备注
	 * @param transactionId 交易编号
	 * @param transactionDesc 备注
	 * @return 返回处理结果
	 */
	public CommonResult modifyTransaction(String transactionId,String transactionDesc);
	
	/**
	 * 修改交易状态及备注
	 * @param transactionId 交易编号
	 * @param transactionState 交易状态
	 * @param transactionDesc 备注
	 * @return 返回处理结果
	 */
	public CommonResult modifyTransaction(String transactionId,Integer transactionState,String transactionDesc);
	
	/**
	 * 删除交易
	 * @param transactionId 要删除的交易编号
	 * @return 返回处理结果
	 */
	public CommonResult removeTransaction(String transactionId);
	
	/**
	 * 根据交易编号查询交易
	 * @param transactionId 要查询的交易编号
	 * @return 返回查询结果
	 */
	public TransactionBean queryTransactionByKey(String transactionId);
	
	/**
	 * 根据交易关联流程编号查询
	 * @param relationProcessId 要查询的交易关联的流程编号
	 * @return 返回查询到的交易列表
	 */
	public List<TransactionBean> queryTransactionByRelationProcessId(String relationProcessId);
	
	/**
	 * 根据交易对象查询
	 * @param traObjectId 要查询的交易对象编号
	 * @return 返回查询到的交易列表
	 */
	public List<TransactionBean> queryTransactionByTraObjectId(Integer traObjectId);
	
	/**
	 * 根据被交易对象查询
	 * @param beTransactionId 传入要查询的被交易对象编号
	 * @return 返回处理结果
	 */
	public List<TransactionBean> queryTransactionByBeTransactionId(Integer beTransactionId);
	
	/**
	 * 根据条件分页查询
	 * @param commonPage 传入查询条件
	 */
	public void queryTransactionByMap(CommonPage commonPage);
}
